﻿using System;
using System.Linq;
using System.Linq.Expressions;
using ProcelNasEscolas.Model.Fichas;
using ProcelNasEscolas.Model.Interfaces;
using ProcelNasEscolas.Model.Respostas;
using ProcelNasEscolas.Model;

namespace ProcelNasEscolas.Data
{
    public abstract class AbstractCrudDao<T>:IBaseCrudDao<T> where T : class
    {
        private ModeloContainer entidades = new ModeloContainer();
        
        public void Add(string Name, T pEntity)
        {
            entidades.AddObject(Name, pEntity);
        }
        public void Delete(T pEntity)
        {
            entidades.DeleteObject(pEntity);
        }
        public void Attach(string Name,T pEntity)
        {
            entidades.AttachTo(Name, pEntity);
        }
        public void Detach(T pEntity)
        {
            entidades.Detach(pEntity);
        }
        public void SaveChanges()
        {
            entidades.SaveChanges();
        }

        public ModeloContainer GetObjectContext()
        {
            return entidades;
        }

    }
}
